科技日新月異,第一款商用SSD固態硬碟於1991年問世,當時大小只有20MB,然而由於價格太貴,一直到2007年,才開始產生主流需求。在SSD大行其道之前,主要是HDD的天下。到了2022年,SSD單位容量的成本越來越低,所有有興趣想涉略儲存領域的人都必須了解SSD。
SSD和HDD最大的差別就是「介質」的不同。HDD使用「磁」的正負極記錄0和1的資料,而SSD使用的是「電子」正負極代表0和1,這間接影響了尋址的速度。HDD需要一個磁碟頭在磁盤上逐一掃描,而SSD利用電子,能快速定位目標地址,這也說明了為何SSD相較於HDD有這麼大的I/O速度差異。
比較項目 | SATA HDD | SATA SSD | 差別 |
---|---|---|---|
平均開機時間 | 27秒 | 8秒 | x3.5 |
連續讀/寫(MB/s) | 160 / 60 | 540 / 330 | x3 / x6 |
隨機讀/寫時間(IOPS) | 450/400 | 98000 / 70000 | x217 / x175 |
讀寫功耗(W) | 6 | 5 | x1 |
重量 | 120g | 80g | x1.5 |
每GB成本(NTD$) | 1.3$ | 2.3$ | x2 |
介質 | 磁性介質 | 電子介質 | |
讀取寫入 | 磁頭+馬達 | SSD控制器 | |
耐震程度 | 低 | 高 |
如今HDD已經非常成熟,但SSD還有巨大的進步空間。製程的進步使得晶片密度越來越高,相同尺寸能容納更多容量。另外,SSD裡面有controller,也就是FTL (Flash Translation Layer),軟體的迭代升級也能加速SSD的I/O速度。
SSD使用的半導體元件是NAND Flash,是一種非易失性儲存技術,即使斷電資料也會保存。NAND Flash在SSD的排列最小單元為多個bits,根據有幾個bits目前主流有1個至4個,分別為SLC、MLC、TLC和QLC。每次對資料進行I/O,只能對最小單元的所有bits同時操作,這也造就了SLC的I/O速度最快但單位容量最貴,而QLC的速度最慢但單位容量最便宜。
SSD有個致命的缺點,就是NAND Flash有一定的讀寫數量限制。對同一塊NAND Flash有過多頻繁寫入,會影響SSD的使用壽命。因此在SSD內,假如500GB好了,會預留一小塊空間作為SSD的firmware,當有I/O過來時,依靠演算法負責「均勻」地對每一塊NAND Flash進行寫入和擦除。
有了上述基本知識後,簡單介紹一下電腦上的一次I/O是如何與SSD固態硬碟交互的,如下圖所示:
更多vSAN相關的文章,歡迎參閱我的部落格: https://kaichiachen.github.io/2023/06/30/vsan/ssd_overview/